home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 January / PCWorld_2007-01_cd.bin / v cisle / autoit / autoit-v3.2.0.1-setup.exe / Examples / Helpfile / DllStructCreate.au3 < prev    next >
Text File  |  2006-06-17  |  1KB  |  46 lines

  1. ;=========================================================
  2. ;    Create the struct
  3. ;    struct {
  4. ;        int                var1;
  5. ;        unsigned char    var2;
  6. ;        unsigned int    var3;
  7. ;        char            var4[128];
  8. ;    }
  9. ;=========================================================
  10. $str        = "int;ubyte;uint;char[128]"
  11. $a            = DllStructCreate($str)
  12. if @error Then
  13.     MsgBox(0,"","Error in DllStructCreate " & @error);
  14.     exit
  15. endif
  16.  
  17. ;=========================================================
  18. ;    Set data in the struct
  19. ;    struct.var1    = -1;
  20. ;    struct.var2    = 255;
  21. ;    struct.var3    = INT_MAX; -1 will be typecasted to (unsigned int)
  22. ;    strcpy(struct.var4,"Hello");
  23. ;    struct.var4[0]    = 'h';
  24. ;=========================================================
  25. DllStructSetData($a,1,-1)
  26. DllStructSetData($a,2,255)
  27. DllStructSetData($a,3,-1)
  28. DllStructSetData($a,4,"Hello")
  29. DllStructSetData($a,4,Asc("h"),1)
  30.  
  31. ;=========================================================
  32. ;    Display info in the struct
  33. ;=========================================================
  34. MsgBox(0,"DllStruct","Struct Size: " & DllStructGetSize($a) & @CRLF & _
  35.         "Struct pointer: " & DllStructGetPtr($a) & @CRLF & _
  36.         "Data:" & @CRLF & _
  37.         DllStructGetData($a,1) & @CRLF & _
  38.         DllStructGetData($a,2) & @CRLF & _
  39.         DllStructGetData($a,3) & @CRLF & _
  40.         DllStructGetData($a,4))
  41.  
  42. ;=========================================================
  43. ;    Free the memory allocated for the struct
  44. ;=========================================================
  45. $a=0
  46.